package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_pledge_detail")
public class FPledgeDetail {
    @Id
    private Long tid;

    /**
     * TS股票代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 公告日期
     */
    @Column(name = "ann_date")
    private String annDate;

    /**
     * 股东名称
     */
    @Column(name = "holder_name")
    private String holderName;

    /**
     * 质押数量（万股）
     */
    @Column(name = "pledge_amount")
    private Float pledgeAmount;

    /**
     * 质押开始日期
     */
    @Column(name = "start_date")
    private String startDate;

    /**
     * 质押结束日期
     */
    @Column(name = "end_date")
    private String endDate;

    /**
     * 是否已解押
     */
    @Column(name = "is_release")
    private String isRelease;

    /**
     * 解押日期
     */
    @Column(name = "release_date")
    private String releaseDate;

    /**
     * 质押方
     */
    private String pledgor;

    /**
     * 持股总数（万股）
     */
    @Column(name = "holding_amount")
    private Float holdingAmount;

    /**
     * 质押总数（万股）
     */
    @Column(name = "pledged_amount")
    private Float pledgedAmount;

    /**
     * 本次质押占总股本比例
     */
    @Column(name = "p_total_ratio")
    private Float pTotalRatio;

    /**
     * 持股总数占总股本比例
     */
    @Column(name = "h_total_ratio")
    private Float hTotalRatio;

    /**
     * 是否回购
     */
    @Column(name = "is_buyback")
    private String isBuyback;

    public FPledgeDetail(Long tid, String tsCode, String annDate, String holderName, Float pledgeAmount, String startDate, String endDate, String isRelease, String releaseDate, String pledgor, Float holdingAmount, Float pledgedAmount, Float pTotalRatio, Float hTotalRatio, String isBuyback) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.annDate = annDate;
        this.holderName = holderName;
        this.pledgeAmount = pledgeAmount;
        this.startDate = startDate;
        this.endDate = endDate;
        this.isRelease = isRelease;
        this.releaseDate = releaseDate;
        this.pledgor = pledgor;
        this.holdingAmount = holdingAmount;
        this.pledgedAmount = pledgedAmount;
        this.pTotalRatio = pTotalRatio;
        this.hTotalRatio = hTotalRatio;
        this.isBuyback = isBuyback;
    }

    public FPledgeDetail() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS股票代码
     *
     * @return ts_code - TS股票代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS股票代码
     *
     * @param tsCode TS股票代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取公告日期
     *
     * @return ann_date - 公告日期
     */
    public String getAnnDate() {
        return annDate;
    }

    /**
     * 设置公告日期
     *
     * @param annDate 公告日期
     */
    public void setAnnDate(String annDate) {
        this.annDate = annDate;
    }

    /**
     * 获取股东名称
     *
     * @return holder_name - 股东名称
     */
    public String getHolderName() {
        return holderName;
    }

    /**
     * 设置股东名称
     *
     * @param holderName 股东名称
     */
    public void setHolderName(String holderName) {
        this.holderName = holderName;
    }

    /**
     * 获取质押数量（万股）
     *
     * @return pledge_amount - 质押数量（万股）
     */
    public Float getPledgeAmount() {
        return pledgeAmount;
    }

    /**
     * 设置质押数量（万股）
     *
     * @param pledgeAmount 质押数量（万股）
     */
    public void setPledgeAmount(Float pledgeAmount) {
        this.pledgeAmount = pledgeAmount;
    }

    /**
     * 获取质押开始日期
     *
     * @return start_date - 质押开始日期
     */
    public String getStartDate() {
        return startDate;
    }

    /**
     * 设置质押开始日期
     *
     * @param startDate 质押开始日期
     */
    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    /**
     * 获取质押结束日期
     *
     * @return end_date - 质押结束日期
     */
    public String getEndDate() {
        return endDate;
    }

    /**
     * 设置质押结束日期
     *
     * @param endDate 质押结束日期
     */
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取是否已解押
     *
     * @return is_release - 是否已解押
     */
    public String getIsRelease() {
        return isRelease;
    }

    /**
     * 设置是否已解押
     *
     * @param isRelease 是否已解押
     */
    public void setIsRelease(String isRelease) {
        this.isRelease = isRelease;
    }

    /**
     * 获取解押日期
     *
     * @return release_date - 解押日期
     */
    public String getReleaseDate() {
        return releaseDate;
    }

    /**
     * 设置解押日期
     *
     * @param releaseDate 解押日期
     */
    public void setReleaseDate(String releaseDate) {
        this.releaseDate = releaseDate;
    }

    /**
     * 获取质押方
     *
     * @return pledgor - 质押方
     */
    public String getPledgor() {
        return pledgor;
    }

    /**
     * 设置质押方
     *
     * @param pledgor 质押方
     */
    public void setPledgor(String pledgor) {
        this.pledgor = pledgor;
    }

    /**
     * 获取持股总数（万股）
     *
     * @return holding_amount - 持股总数（万股）
     */
    public Float getHoldingAmount() {
        return holdingAmount;
    }

    /**
     * 设置持股总数（万股）
     *
     * @param holdingAmount 持股总数（万股）
     */
    public void setHoldingAmount(Float holdingAmount) {
        this.holdingAmount = holdingAmount;
    }

    /**
     * 获取质押总数（万股）
     *
     * @return pledged_amount - 质押总数（万股）
     */
    public Float getPledgedAmount() {
        return pledgedAmount;
    }

    /**
     * 设置质押总数（万股）
     *
     * @param pledgedAmount 质押总数（万股）
     */
    public void setPledgedAmount(Float pledgedAmount) {
        this.pledgedAmount = pledgedAmount;
    }

    /**
     * 获取本次质押占总股本比例
     *
     * @return p_total_ratio - 本次质押占总股本比例
     */
    public Float getpTotalRatio() {
        return pTotalRatio;
    }

    /**
     * 设置本次质押占总股本比例
     *
     * @param pTotalRatio 本次质押占总股本比例
     */
    public void setpTotalRatio(Float pTotalRatio) {
        this.pTotalRatio = pTotalRatio;
    }

    /**
     * 获取持股总数占总股本比例
     *
     * @return h_total_ratio - 持股总数占总股本比例
     */
    public Float gethTotalRatio() {
        return hTotalRatio;
    }

    /**
     * 设置持股总数占总股本比例
     *
     * @param hTotalRatio 持股总数占总股本比例
     */
    public void sethTotalRatio(Float hTotalRatio) {
        this.hTotalRatio = hTotalRatio;
    }

    /**
     * 获取是否回购
     *
     * @return is_buyback - 是否回购
     */
    public String getIsBuyback() {
        return isBuyback;
    }

    /**
     * 设置是否回购
     *
     * @param isBuyback 是否回购
     */
    public void setIsBuyback(String isBuyback) {
        this.isBuyback = isBuyback;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", annDate=").append(annDate);
        sb.append(", holderName=").append(holderName);
        sb.append(", pledgeAmount=").append(pledgeAmount);
        sb.append(", startDate=").append(startDate);
        sb.append(", endDate=").append(endDate);
        sb.append(", isRelease=").append(isRelease);
        sb.append(", releaseDate=").append(releaseDate);
        sb.append(", pledgor=").append(pledgor);
        sb.append(", holdingAmount=").append(holdingAmount);
        sb.append(", pledgedAmount=").append(pledgedAmount);
        sb.append(", pTotalRatio=").append(pTotalRatio);
        sb.append(", hTotalRatio=").append(hTotalRatio);
        sb.append(", isBuyback=").append(isBuyback);
        sb.append("]");
        return sb.toString();
    }
}